#pragma once
#include <deque>
#include <cstdarg>
#include <string>
#include <vector>

namespace renderit
{
	namespace strutil
	{
		int int_to_str(char * buf, int size, int num);

		int float_to_str(char * buf, int size, double f, int fraction_count = 6);

		std::string str_format(const char * fmt, ...);
		std::string str_format(const char * fmr, va_list va);

		bool str_endswith(const std::string& str, const std::string& sub);
		bool str_startswith(const std::string& str, const std::string& sub);

		std::string strip(const std::string& str);

		std::vector<std::string> split(const std::string& str, char p);

		bool str_is_guid(const std::string& str);
	}
}